// components/article-list/article-list.js
import { getCateListApi } from "../../api/index"
Component({
    options: {
        multipleSlots: true // 复数插槽: 是
    },
    /**
     * 组件的属性列表
     */
    properties: {
        // 是否可以滑动
        noswiper: {
            type: Boolean,
            value: true
        },
        // 渲染数据
        cateid: {
            type: [Number, String],
            value: 0,
            observer(newVal, oldVal) {// 数据监听
                // console.log("newVal", newVal);
                this.getCateList(newVal)
            },
        }
    },


    /**
     * 组件的初始数据
     */
    data: {
        // 获取分类请求参数
        page: 1,
        limit: 10,
        // 数据是否加载完
        noMore: false,
        // 加载中
        loading: true,
        // 数据是否加载失败
        loadingFailed: false,
        // 总数
        count: 0,
        // 渲染数据
        CateList: [],
        // 下拉刷新
        nextLoading: false
    },

    /**
     * 组件的方法列表
     */
    methods: {
        //   获取当前分类下数据
        async getCateList(cateid) {
            // console.log(this.data);
            // console.log(this.data.cateid);
            // console.log({ page: this.data.page, limit: this.data.limit, cateid});
            const { data: { list: { count, data } } } = await getCateListApi({ page: this.data.page, limit: this.data.limit, cateid })
            // console.log(data);
            this.setData({ count, CateList: [...this.data.CateList, ...data] })
        },
        // 监听页面加载到底部
        scrollToLower() {
            // console.log(66);
            try {
                // 还有数据，继续加载
                if (this.data.CateList.length < this.data.count) {
                    this.setData({ page: this.data.page + 1 })
                    this.getCateList(this.data.cateid)
                    this.setData({ noMore: false, loading: true, loadingFailed: false, })
                } else {
                    this.setData({ noMore: true, loading: false, loadingFailed: false, })
                }
            } catch (err) {
                console.log(err);
                this.setData({ loadingFailed: true, noMore: true, loading: false })
            }
        },
        // 下拉刷新
        nextScroll() {
            this.setData({page:1,CateList:[]})
            this.getCateList(this.data.cateid)
            this.setData({ nextLoading: false })
        },
    },

    lifetimes: {

    }

})
